//*********************************************************
//
//    Copyright (c) Microsoft. All rights reserved.
//    This code is licensed under the Apache License, Version 2.0.
//    THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
//    ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
//    IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
//    PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
//
//*********************************************************

namespace Microsoft.Research.eResearch.Ontology.Lookup
{
    using System;

    /// <summary>
    /// Specification for ontology lookup.
    /// </summary>
    public interface IOntologyLookupTable
    {
        /// <summary>
        /// Performs lookup using the object type and property name.
        /// </summary>
        /// <param name="objectType">Type of the object.</param>
        /// <param name="propertyName">Name of the property.</param>
        /// <returns>The concept name.</returns>
        string MapPropertyToConcept(Type objectType, string propertyName);

        /// <summary>
        /// Performs lookup using the property qualified name.
        /// </summary>
        /// <param name="propertyQualifiedName">Property qualified name.</param>
        /// <returns>The concept name.</returns>
        string MapPropertyToConcept(string propertyQualifiedName);
    }
}
